#include "stm32f10x.h"                  // Device header
#include "OLED.h"
#include "LED.h"
#include "Delay.h"
int main(void)
{
	OLED_Init();
	LED_Init();
	OLED_ShowString(2,1,"Hello,ZYF!");
	// 判断复位是由什么触发的
	if (RCC_GetFlagStatus(RCC_FLAG_WWDGRST) == SET)		// 如果是WWDG触发的
	{
		OLED_ShowString(1, 1, "WWDGRESET");
		Delay_ms(300);
		OLED_ShowString(1, 1, "         ");
		Delay_ms(100);
		
		RCC_ClearFlag();								// 清除标志位
	}
	else
	{
		OLED_ShowString(1, 1, "PINRESET");
		Delay_ms(300);
		OLED_ShowString(1, 1, "        ");
		Delay_ms(100);
	}
	
	// 初始化WWDG
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);
	WWDG_SetPrescaler(WWDG_Prescaler_8);				// 设置预分频值
	WWDG_SetWindowValue(0x40 + 21);								// 设置窗口时间
	WWDG_SetCounter(0x40 + 54);									// 设置超时时间
	
	// 开启WWDG
	WWDG_Enable(0x40 + 54);
	while(1)
	{
		OLED_ShowString(1, 1, "    ");
		Delay_ms(20);
		OLED_ShowString(1, 1, "FEAD");
		Delay_ms(20);
		
		WWDG_SetCounter(0x40 + 54);									// 喂狗
	}
}
